home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Belgian Amiga Club - ADF Collection
/
BS1 part 60.zip
/
BS1 part 60
/
Highspeed pascal.adf
/
Interface
/
Graphics.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1992-01-16
|
21KB
|
1,024 lines
Unit Graphics;
Interface
Uses Hardware, Input, Exec;
Type
pCustom = ^tCustom;
pLayer = ^tLayer;
pClipRect = ^tClipRect;
pRastPort = ^tRastPort;
tRectangle = Record
MinX: Integer;
MinY: Integer;
MaxX: Integer;
MaxY: Integer;
End;
pBitMap = ^tBitMap;
pLayer_Info = ^tLayer_Info;
pRegion = ^tRegion;
tLayer = Record
front: pLayer;
back: pLayer;
ClipRect: pClipRect;
rp: pRastPort;
bounds: tRectangle;
reserved: Array [0..3] of ShortInt;
priority: Integer;
Flags: Integer;
SuperBitMap: pBitMap;
SuperClipRect: pClipRect;
Window: Pointer;
Scroll_X: Integer;
Scroll_Y: Integer;
cr: pClipRect;
cr2: pClipRect;
crnew: pClipRect;
SuperSaveClipRects: pClipRect;
_cliprects: pClipRect;
LayerInfo: pLayer_Info;
Lock: tSignalSemaphore;
reserved3: Array [0..7] of ShortInt;
ClipRegion: pRegion;
saveClipRects: pRegion;
reserved2: Array [0..21] of ShortInt;
DamageList: pRegion;
End;
tcollTable = Record
collPtrs: Array [0..15] of pPointer;
End;
pRegionRectangle = ^tRegionRectangle;
tRegion = Record
bounds: tRectangle;
RegionRectangle: pRegionRectangle;
End;
pViewPort = ^tViewPort;
pcprlist = ^tcprlist;
tView = Record
ViewPort: pViewPort;
LOFCprList: pcprlist;
SHFCprList: pcprlist;
DyOffset: Integer;
DxOffset: Integer;
Modes: Integer;
End;
pVSprite = ^tVSprite;
pBob = ^tBob;
tVSprite = Record
NextVSprite: pVSprite;
PrevVSprite: pVSprite;
DrawPath: pVSprite;
ClearPath: pVSprite;
OldY: Integer;
OldX: Integer;
Flags: Integer;
Y: Integer;
X: Integer;
Height: Integer;
Width: Integer;
Depth: Integer;
MeMask: Integer;
HitMask: Integer;
ImageData: pInteger;
BorderLine: pInteger;
CollMask: pInteger;
SprColors: pInteger;
VSBob: pBob;
PlanePick: ShortInt;
PlaneOnOff: ShortInt;
VUserExt: Integer;
End;
tRegionRectangle = Record
Next: pRegionRectangle;
Prev: pRegionRectangle;
bounds: tRectangle;
End;
tTextFont = Record
tf_Message: tMessage;
tf_YSize: Integer;
tf_Style: ShortInt;
tf_Flags: ShortInt;
tf_XSize: Integer;
tf_Baseline: Integer;
tf_BoldSmear: Integer;
tf_Accessors: Integer;
tf_LoChar: ShortInt;
tf_HiChar: ShortInt;
tf_CharData: Pointer;
tf_Modulo: Integer;
tf_CharLoc: Pointer;
tf_CharSpace: Pointer;
tf_CharKern: Pointer;
End;
pTmpRas = ^tTmpRas;
pAreaInfo = ^tAreaInfo;
pGelsInfo = ^tGelsInfo;
pTextFont = ^tTextFont;
tRastPort = Record
Layer: pLayer;
BitMap: pBitMap;
AreaPtrn: pInteger;
TmpRas: pTmpRas;
AreaInfo: pAreaInfo;
GelsInfo: pGelsInfo;
Mask: ShortInt;
FgPen: ShortInt;
BgPen: ShortInt;
AOlPen: ShortInt;
DrawMode: ShortInt;
AreaPtSz: ShortInt;
linpatcnt: ShortInt;
dummy: ShortInt;
Flags: Integer;
LinePtrn: Integer;
cp_x: Integer;
cp_y: Integer;
minterms: Array [0..7] of ShortInt;
PenWidth: Integer;
PenHeight: Integer;
Font: pTextFont;
AlgoStyle: ShortInt;
TxFlags: ShortInt;
TxHeight: Integer;
TxWidth: Integer;
TxBaseline: Integer;
TxSpacing: Integer;
RP_User: Pointer;
longreserved: Array [0..1] of LongInt;
wordreserved: Array [0..6] of Integer;
reserved: Array [0..7] of ShortInt;
End;
tTextAttr = Record
ta_Name: pShortInt;
ta_YSize: Integer;
ta_Style: ShortInt;
ta_Flags: ShortInt;
End;
pColorMap = ^tColorMap;
pCopList = ^tCopList;
pUCopList = ^tUCopList;
pRasInfo = ^tRasInfo;
tViewPort = Record
Next: pViewPort;
ColorMap: pColorMap;
DspIns: pCopList;
SprIns: pCopList;
ClrIns: pCopList;
UCopIns: pUCopList;
DWidth: Integer;
DHeight: Integer;
DxOffset: Integer;
DyOffset: Integer;
Modes: Integer;
SpritePriorities: ShortInt;
reserved: ShortInt;
RasInfo: pRasInfo;
End;
ttPoint = Record
x: Integer;
y: Integer;
End;
tSimpleSprite = Record
posctldata: pInteger;
height: Integer;
x: Integer;
y: Integer;
num: Integer;
End;
tDBufPacket = Record
BufY: Integer;
BufX: Integer;
BufPath: pVSprite;
BufBuffer: pInteger;
End;
tcopinit = Record
diagstrt: Array [0..3] of Integer;
sprstrtup: Array [0..39] of Integer;
sprstop: Array [0..1] of Integer;
End;
pIsrvstr = ^tIsrvstr;
tIsrvstr = Record
is_Node: tNode;
Iptr: pIsrvstr;
code: pPointer;
ccode: pPointer;
Carg: LongInt;
End;
pAnimOb = ^tAnimOb;
pAnimComp = ^tAnimComp;
tAnimOb = Record
NextOb: pAnimOb;
PrevOb: pAnimOb;
Clock: LongInt;
AnOldY: Integer;
AnOldX: Integer;
AnY: Integer;
AnX: Integer;
YVel: Integer;
XVel: Integer;
YAccel: Integer;
XAccel: Integer;
RingYTrans: Integer;
RingXTrans: Integer;
AnimORoutine: pPointer;
HeadComp: pAnimComp;
AUserExt: Integer;
End;
tcprlist = Record
Next: pcprlist;
start: pInteger;
MaxCount: Integer;
End;
pView = ^tView;
pcopinit = ^tcopinit;
pbltnode = ^tbltnode;
pTask = ^tTask;
pSimpleSprite = ^tSimpleSprite;
ppSimpleSprite = ^pSimpleSprite;
pSignalSemaphore = ^tSignalSemaphore;
tGfxBase = Record
LibNode: tLibrary;
ActiView: pView;
copinit: pcopinit;
cia: pLongInt;
blitter: pLongInt;
LOFlist: pInteger;
SHFlist: pInteger;
blthd: pbltnode;
blttl: pbltnode;
bsblthd: pbltnode;
bsblttl: pbltnode;
vbsrv: tInterrupt;
timsrv: tInterrupt;
bltsrv: tInterrupt;
TextFonts: tList;
DefaultFont: pTextFont;
Modes: Integer;
VBlank: ShortInt;
Debug: ShortInt;
BeamSync: Integer;
system_bplcon0: Integer;
SpriteReserved: ShortInt;
bytereserved: ShortInt;
Flags: Integer;
BlitLock: Integer;
BlitNest: Integer;
BlitWaitQ: tList;
BlitOwner: pTask;
TOF_WaitQ: tList;
DisplayFlags: Integer;
SimpleSprites: ppSimpleSprite;
MaxDisplayRow: Integer;
MaxDisplayColumn: Integer;
NormalDisplayRows: Integer;
NormalDisplayColumns: Integer;
NormalDPMX: Integer;
NormalDPMY: Integer;
LastChanceMemory: pSignalSemaphore;
LCMptr: pInteger;
MicrosPerLine: Integer;
MinDisplayColumn: Integer;
reserved: Array [0..22] of LongInt;
End;
tAreaInfo = Record
VctrTbl: pInteger;
VctrPtr: pInteger;
FlagTbl: pShortInt;
FlagPtr: pShortInt;
Count: Integer;
MaxCount: Integer;
FirstX: Integer;
FirstY: Integer;
End;
tBitMap = Record
BytesPerRow: Integer;
Rows: Integer;
Flags: ShortInt;
Depth: ShortInt;
pad: Integer;
Planes: Array [0..7] of pShortInt;
End;
pDBufPacket = ^tDBufPacket;
tBob = Record
Flags: Integer;
SaveBuffer: pInteger;
ImageShadow: pInteger;
Before: pBob;
After: pBob;
BobVSprite: pVSprite;
BobComp: pAnimComp;
DBuffer: pDBufPacket;
BUserExt: Integer;
End;
tUCopList = Record
Next: pUCopList;
FirstCopList: pCopList;
CopList: pCopList;
End;
tAnimComp = Record
Flags: Integer;
Timer: Integer;
TimeSet: Integer;
NextComp: pAnimComp;
PrevComp: pAnimComp;
NextSeq: pAnimComp;
PrevSeq: pAnimComp;
AnimCRoutine: pPointer;
YTrans: Integer;
XTrans: Integer;
HeadOb: pAnimOb;
AnimBob: pBob;
End;
tCopIns = Record
OpCode: Integer;
Case Integer of
0: (
nxtlist: pCopList;
);
1: (
WaitPos: Record
V: Integer;
H: Integer;
End;
);
2: (
Dest: Record
Addr: Integer;
Data: Integer;
End;
);
End;
tClipRect = Record
Next: pClipRect;
prev: pClipRect;
lobs: pLayer;
BitMap: pBitMap;
bounds: tRectangle;
_p1: pClipRect;
_p2: pClipRect;
reserved: LongInt;
End;
tRasInfo = Record
Next: pRasInfo;
BitMap: pBitMap;
RxOffset: Integer;
RyOffset: Integer;
End;
pcollTable = ^tcollTable;
tGelsInfo = Record
sprRsrvd: ShortInt;
Flags: ShortInt;
gelHead: pVSprite;
gelTail: pVSprite;
nextLine: pInteger;
lastColor: ppInteger;
collHandler: pcollTable;
leftmost: Integer;
rightmost: Integer;
topmost: Integer;
bottommost: Integer;
firstBlissObj: Pointer;
lastBlissObj: Pointer;
End;
tColorMap = Record
Flags: ShortInt;
Type_: ShortInt;
Count: Integer;
ColorTable: Pointer;
End;
tLayer_Info = Record
top_layer: pLayer;
check_lp: pLayer;
obs: pLayer;
FreeClipRects: tMinList;
Lock: tSignalSemaphore;
gs_Head: tList;
longreserved: LongInt;
Flags: Integer;
fatten_count: ShortInt;
LockLayersCount: ShortInt;
LayerInfo_extra_size: Integer;
blitbuff: pInteger;
LayerInfo_extra: Pointer;
End;
tTmpRas = Record
RasPtr: pShortInt;
Size: LongInt;
End;
pCopIns = ^tCopIns;
tCopList = Record
Next: pCopList;
_CopList: pCopList;
_ViewPort: pViewPort;
CopIns: pCopIns;
CopPtr: pCopIns;
CopLStart: pInteger;
CopSStart: pInteger;
Count: Integer;
MaxCount: Integer;
DyOffset: Integer;
End;
PLANEPTR = pShortInt;
Point = ttPoint;
pTextAttr = ^tTextAttr;
pRectangle = ^tRectangle;
ppAnimOb = ^pAnimOb;
pGfxBase = ^tGfxBase;
Var
GfxBase: pGfxBase;
Const
FSF_BOLD = $2;
FSF_EXTENDED = $8;
RIGHTHIT = $8;
DBUFFER = $4;
GELGONE = $400;
ALERTLAYERSNOMEM = $83010000;
SAVEBOB = $1;
NTSC = $1;
CPR_NT_SHT = $4000;
FPB_DISKFONT = $1;
HAM = $800;
SAVEPRESERVE = $1000;
FPF_DISKFONT = $2;
CR_NEEDS_NO_CONCEALED_RASTERS = $1;
DIW_VRTCL_POS_SHIFT = $7;
AREAOUTLINE = $8;
NEWLAYERINFO_CALLED = $1;
PAL = $4;
PFB_FINE_SCROLL_SHIFT = $4;
HOLDNMODIFY = $800;
LEFTHIT = $4;
MUSTDRAW = $8;
B2SWAP = $1;
RINGTRIGGER = $1;
B2NORM = $0;
VPOSRLOF = $8000;
SPRITE_ATTACHED = $80;
EXTRA_HALFBRITE = $80;
PF2PRI = $40;
LAYERSIMPLE = $1;
FPB_WIDEDOT = $4;
FPB_REMOVED = $7;
COLORON = $200;
ANFRACSIZE = $6;
FPB_TALLDOT = $3;
FPF_WIDEDOT = $10;
GENLOC = $2;
FPB_PROPORTIONAL = $5;
MODE_640 = $8000;
FPF_REMOVED = $80;
BACKSAVED = $100;
NOCROSSFILL = $20;
VP_HIDE = $2000;
B2BOBBER = $2;
FRST_DOT = $1;
FPF_TALLDOT = $8;
FPF_PROPORTIONAL = $20;
DUALPF = $400;
OVERLAY = $4;
FPB_REVPATH = $2;
BDRAWN = $200;
BUSERFLAGS = $FF;
BITCLR = $0;
DIW_VRTCL_POS = $1FF;
FSB_ITALIC = $2;
FPF_REVPATH = $4;
DIW_HORIZ_POS = $7F;
BOBNIX = $800;
PFA_FINE_SCROLL = $F;
ONE_DOT = $2;
DFTCH_MASK = $FF;
COMPLEMENT = $2;
FSF_ITALIC = $4;
SPRITES = $4000;
ISLESSX = $1;
FSB_UNDERLINED = $0;
ISLESSY = $2;
VSPRITE = $1;
FPB_ROMFONT = $0;
COPPER_WAIT = $1;
LAYERBACKDROP = $40;
FSF_UNDERLINED = $1;
BITSET = $8000;
COPPER_MOVE = $0;
BOBUPDATE = $200;
FPF_ROMFONT = $1;
DBLPF = $400;
INTERLACE = $4;
ISGRTRX = $4;
ISGRTRY = $8;
OUTSTEP = $2000;
LAYER_CLIPRECTS_LOST = $100;
SUSERFLAGS = $FF;
JAM1 = $0;
BOBISCOMP = $2;
JAM2 = $1;
PLNCNTSHFT = $C;
LAYERSMART = $2;
TOPHIT = $1;
BORDERHIT = $0;
SAVEBACK = $2;
ANIMHALF = $20;
LMN_REGION = $FFFFFFFF;
GENLOCK_AUDIO = $100;
LAYERSUPER = $4;
PF_FINE_SCROLL_MASK = $F;
LACE = $4;
LAYERUPDATING = $10;
HIRES = $8000;
GENLOCK_VIDEO = $2;
PFBA = $40;
FPB_DESIGNED = $6;
FPF_DESIGNED = $40;
VSOVERFLOW = $800;
BOTTOMHIT = $2;
PLNCNTMSK = $7;
BWAITING = $100;
INVERSVID = $4;
CPRNXTBUF = $2;
BOBSAWAY = $400;
BLITMSG_FAULT = $4;
FSB_BOLD = $1;
CPR_NT_LOF = $8000;
FS_NORMAL = $0;
FSB_EXTENDED = $3;
LAYERREFRESH = $80;
Function BltBitMap
(srcBitMap: pBitMap;
srcX: Integer;
srcY: Integer;
destBitMap: pBitMap;
destX: Integer;
destY: Integer;
sizeX: Integer;
sizeY: Integer;
minterm: ShortInt;
mask: ShortInt;
tempA: pInteger): LongInt;
Procedure BltTemplate
(source: pInteger;
srcX: Integer;
srcMod: Integer;
destRastPort: pRastPort;
destX: Integer;
destY: Integer;
sizeX: Integer;
sizeY: Integer);
Procedure ClearEOL (rastPort: pRastPort);
Procedure ClearScreen (rastPort: pRastPort);
Function TextLength
(RastPort: pRastPort;
string_: String;
count: Integer): Integer;
Procedure Text_
(RastPort: pRastPort;
string_: String;
count: Integer);
Procedure SetFont
(RastPortID: pRastPort;
textFont: pTextFont);
Function OpenFont (textAttr: pTextAttr): pTextFont;
Procedure CloseFont (textFont: pTextFont);
Function AskSoftStyle (rastPort: pRastPort): LongInt;
Function SetSoftStyle
(rastPort: pRastPort;
style: LongInt;
enable: LongInt): LongInt;
Procedure AddBob
(bob: pBob;
rastPort: pRastPort);
Procedure AddVSprite
(vSprite: pVSprite;
rastPort: pRastPort);
Procedure DoCollision (rasPort: pRastPort);
Procedure DrawGList
(rastPort: pRastPort;
viewPort: pViewPort);
Procedure InitGels
(dummyHead: pVSprite;
dummyTail: pVSprite;
GelsInfo: pGelsInfo);
Procedure InitMasks (vSprite: pVSprite);
Procedure RemIBob
(bob: pBob;
rastPort: pRastPort;
viewPort: pViewPort);
Procedure RemVSprite (vSprite: pVSprite);
Procedure SetCollision
(type_: LongInt;
routine: Pointer;
gelsInfo: pGelsInfo);
Procedure SortGList (rastPort: pRastPort);
Procedure AddAnimOb
(obj: pAnimOb;
animationKey: ppAnimOb;
rastPort: pRastPort);
Procedure Animate
(animationKey: ppAnimOb;
rastPort: pRastPort);
Function GetGBuffers
(animationObj: pAnimOb;
rastPort: pRastPort;
doubleBuffer: Boolean): Boolean;
Procedure InitGMasks (animationObj: pAnimOb);
Procedure DrawEllipse
(rastPort: pRastPort;
cx: Integer;
cy: Integer;
a: Integer;
b: Integer);
Function AreaEllipse
(rastPort: pRastPort;
cx: Integer;
cy: Integer;
a: Integer;
b: Integer): LongInt;
Procedure LoadRGB4
(viewPort: pViewPort;
colors: pInteger;
count: Integer);
Procedure InitRastPort (rastPort: pRastPort);
Procedure InitVPort (viewPort: pViewPort);
Procedure MrgCop (view: pView);
Procedure MakeVPort
(view: pView;
viewPort: pViewPort);
Procedure LoadView (view: pView);
Procedure WaitBlit;
Procedure SetRast
(rastPort: pRastPort;
color: ShortInt);
Procedure Move_
(rastPort: pRastPort;
x: Integer;
y: Integer);
Procedure Draw
(rastPort: pRastPort;
x: Integer;
y: Integer);
Function AreaMove
(rastPort: pRastPort;
x: Integer;
y: Integer): LongInt;
Function AreaDraw
(rastPort: pRastPort;
x: Integer;
y: Integer): LongInt;
Function AreaEnd (rastPort: pRastPort): LongInt;
Procedure WaitTOF;
Procedure QBlit (blit: pbltnode);
Procedure InitArea
(areaInfo: pAreaInfo;
vectorTable: Pointer;
vectorTableSize: Integer);
Procedure SetRGB4
(viewPort: pViewPort;
index: Integer;
r: ShortInt;
g: ShortInt;
b: ShortInt);
Procedure QBSBlit (blit: pbltnode);
Procedure BltClear
(memory: Pointer;
size: LongInt;
flags: LongInt);
Procedure RectFill
(rastPort: pRastPort;
xl: Integer;
yl: Integer;
xu: Integer;
yu: Integer);
Procedure BltPattern
(rastPort: pRastPort;
ras: Pointer;
xl: Integer;
yl: Integer;
maxX: Integer;
maxY: Integer;
fillBytes: Integer);
Function ReadPixel
(rastPort: pRastPort;
x: Integer;
y: Integer): LongInt;
Function WritePixel
(rastPort: pRastPort;
x: Integer;
y: Integer): LongInt;
Function Flood
(rastPort: pRastPort;
mode: LongInt;
x: Integer;
y: Integer): Boolean;
Procedure PolyDraw
(rastPort: pRastPort;
count: Integer;
polyTable: pInteger);
Procedure SetAPen
(rastPort: pRastPort;
pen: ShortInt);
Procedure SetBPen
(rastPort: pRastPort;
pen: ShortInt);
Procedure SetDrMd
(rastPort: pRastPort;
drawMode: ShortInt);
Procedure InitView (view: pView);
Procedure CBump (copperList: pUCopList);
Procedure CMove_
(copperList: pUCopList;
destination: Pointer;
data: Integer);
Procedure CWait_
(copperList: pUCopList;
x: Integer;
y: Integer);
Function VBeamPos: LongInt;
Procedure InitBitMap
(bitMap: pBitMap;
depth: ShortInt;
width: Integer;
height: Integer);
Procedure ScrollRaster
(rastPort: pRastPort;
dX: Integer;
dY: Integer;
minx: Integer;
miny: Integer;
maxx: Integer;
maxy: Integer);
Procedure WaitBOVP (viewport: pViewPort);
Function GetSprite
(simplesprite: pSimpleSprite;
num: Integer): Integer;
Procedure FreeSprite (num: Integer);
Procedure ChangeSprite
(vp: pViewPort;
simplesprite: pSimpleSprite;
data: Pointer);
Procedure MoveSprite
(viewport: pViewPort;
simplesprite: pSimpleSprite;
x: Integer;
y: Integer);
Procedure LockLayerRom (layer: pLayer);
Procedure UnlockLayerRom (layer: pLayer);
Procedure SyncSBitMap (l: pLayer);
Procedure CopySBitMap (l: pLayer);
Procedure OwnBlitter;
Procedure DisownBlitter;
Procedure InitTmpRas
(tmpras: pTmpRas;
buff: Pointer;
size: LongInt);
Procedure AskFont
(rastPort: pRastPort;
textAttr: pTextAttr);
Procedure AddFont (textFont: pTextFont);
Procedure RemFont (textFont: pTextFont);
Function AllocRaster
(width: Integer;
height: Integer): pShortInt;
Procedure FreeRaster
(planeptr: pShortInt;
width: Integer;
height: Integer);
Procedure AndRectRegion
(rgn: pRegion;
rect: pRectangle);
Function OrRectRegion
(rgn: pRegion;
rect: pRectangle): Boolean;
Function NewRegion: pRegion;
Function ClearRectRegion
(rgn: pRegion;
rect: pRectangle): Boolean;
Procedure ClearRegion (rgn: pRegion);
Procedure DisposeRegion (rgn: pRegion);
Procedure FreeVPortCopLists (viewport: pViewPort);
Procedure FreeCopList (coplist: pCopList);
Procedure ClipBlit
(srcrp: pRastPort;
srcX: Integer;
srcY: Integer;
destrp: pRastPort;
destX: Integer;
destY: Integer;
sizeX: Integer;
sizeY: Integer;
minterm: ShortInt);
Function XorRectRegion
(rgn: pRegion;
rect: pRectangle): Boolean;
Procedure FreeCprList (cprlist: pcprlist);
Function GetColorMap (entries: LongInt): pColorMap;
Procedure FreeColorMap (colormap: pColorMap);
Function GetRGB4
(colormap: pColorMap;
entry: LongInt): LongInt;
Procedure ScrollVPort (vp: pViewPort);
Function UCopperListInit
(copperlist: pUCopList;
num: Integer): pCopList;
Procedure FreeGBuffers
(animationObj: pAnimOb;
rastPort: pRastPort;
doubleBuffer: Boolean);
Function BltBitMapRastPort
(srcbm: pBitMap;
srcx: Integer;
srcy: Integer;
destrp: pRastPort;
destX: Integer;
destY: Integer;
sizeX: Integer;
sizeY: Integer;
minterm: ShortInt): Boolean;
Function OrRegionRegion
(src: pRegion;
dst: pRegion): Boolean;
Function XorRegionRegion
(src: pRegion;
dst: pRegion): Boolean;
Function AndRegionRegion
(src: pRegion;
dst: pRegion): Boolean;
Procedure SetRGB4CM
(cm: pColorMap;
i: Integer;
r: ShortInt;
g: ShortInt;
b: ShortInt);
Procedure BltMaskBitMapRastPort
(srcbm: pBitMap;
srcx: Integer;
srcy: Integer;
destrp: pRastPort;
destX: Integer;
destY: Integer;
sizeX: Integer;
sizeY: Integer;
minterm: ShortInt;
bltmask: Pointer);
Function AttemptLockLayerRom (layer: pLayer): Boolean;
Function AreaCircle
(rastPort: pRastPort;
cx: Integer;
cy: Integer;
r: Integer): LongInt;
Procedure DrawCircle
(rastPort: pRastPort;
cx: Integer;
cy: Integer;
r: Integer);
Procedure SetOPen
(w: pRastPort;
c: ShortInt);
Procedure SetWrMsk
(w: pRastPort;
m: ShortInt);
Procedure SetDrPt
(w: pRastPort;
p: Integer);
Procedure SetAfPt
(w: pRastPort;
p: pInteger;
n: ShortInt);
Function RASSIZE
(w: Integer;
h: Integer): LongInt;
Procedure CINIT
(copperlist: pUCopList;
num: Integer);
Procedure CMOVE
(copperList: pUCopList;
var destination: Pointer;
data: Integer);
Procedure CWAIT
(copperList: pUCopList;
x: Integer;
y: Integer);
Procedure CEND (copperList: pUCopList);
Procedure BNDRYOFF (w: pRastPort);
Procedure OFF_DISPLAY (custom: pCustom);
Procedure ON_DISPLAY (custom: pCustom);
Procedure OFF_SPRITE (custom: pCustom);
Procedure ON_SPRITE (custom: pCustom);
Procedure OFF_VBLANK (custom: pCustom);
Procedure ON_VBLANK (custom: pCustom);
Procedure InitAnimate (var animkey: pAnimOb);
Procedure RemBob (bob: pVSprite);
End.